home *** CD-ROM | disk | FTP | other *** search
Makefile | 1996-04-08 | 5.7 KB | 260 lines |
- # Makefile for UnZip(SFX) and fUnZip for Borland C++ 2.x-4.x and Turbo C++ 1.0
- # Version: 5.20 and later Alvin Koh, Jim Knoble, Christian Spieler, etc.
- #
- # Last revised: 8 Apr 96
- #
- # To compile with Turbo C++ 1.0, set the macro CC_REV to 1 at the command line
- # (make -fmsdos/makefile.bc -DCC_REV=1).
-
-
- # GNU make doesn't like the return value from "rem"
- #STRIP=rem
- STRIP=echo Ignore this line.
- # If you don't have LZEXE or PKLITE, get one of them. Then define:
- #STRIP=lzexe
- # or
- #STRIP=pklite
- # This makes a big difference in .exe size (and possibly load time).
-
-
- # Optional nonstandard preprocessor flags (as -DCHECK_EOF or -DDOS_WILD)
- # should be added to the environment via "set LOCAL_UNZIP=-DFOO" or added
- # to the declaration of LOC here:
- LOC = $(LOCAL_UNZIP)
-
- # Type for CPU required: 0: 8086, 1: 80186, 2: 80286, 3: 80386, etc.
- CPU_TYP = 0
-
- # (De)Select inclusion of optimized assembler CRC32 routine:
- USE_ASMCRC = 1
-
- !if $(CC_REV) == 1
- # Turbo C++ 1.0
- CC = tcc
- !else
- # Borland C++ 2.0, 3.0, 3.1 ...
- ! if !$(CC_REV)
- CC_REV = 3
- ! endif
- CC = bcc
- !endif
-
- AS = tasm
-
- # "near data" model is sufficient for UnZip and ZipInfo, now that strings moved
- # switched to medium model; UnZip code has grown beyond the 64k limit.
- UNMODEL = m # medium model for UnZip and ZipInfo
- ASUNMODEL=__MEDIUM__ # keep in sync with UNMODEL definition !!
-
- FUMODEL = s # always use small model for fUnZip
- ASFUMODEL=__SMALL__ # keep in sync with FUMODEL definition !!
-
- !if $(USE_ASMCRC)
- ASMFLG = -DASM_CRC
- ASMOBJS = crc_i86.obj
- ASMOBJF = crc_i86_.obj
- !else
- ASMFLG =
- ASMOBJS =
- ASMOBJF =
- !endif
-
-
- # compiler flags
-
- ASCPUFLAG = __$(CPU_TYP)86
- !if $(CPU_TYP) != 0
- CC_CPUFLG = -$(CPU_TYP)
- !endif
- ASFLAGS = -ml -m2 -w0 -D$(ASCPUFLAG) $(LOC)
- !if $(CC_REV) == 1
- CFLAGS = -O -G -Z -a -d $(CC_CPUFLG) -ff- -k- -P-.C -I. $(ASMFLG) $(LOC)
- LDFLAGS = -lxncd # for tcc
- !else
- CFLAGS = -O2 $(CC_CPUFLG) -ff- -k- -P-.C -I. $(ASMFLG) $(LOC)
- LDFLAGS = -lxncd -l-P # for bcc
- !endif
- UNFLAGS = -m$(UNMODEL) $(CFLAGS)
- FUFLAGS = -m$(FUMODEL) $(CFLAGS) -K -d
-
- # implicit rules
-
- .asm.obj:
- $(AS) $(ASFLAGS) -D$(ASUNMODEL) $<
-
- .c.obj:
- $(CC) -c $(UNFLAGS) {$< }
-
- # list macros
-
- unzip_dependencies = \
- unzip.obj \
- crc32.obj \
- crctab.obj \
- crypt.obj \
- envargs.obj \
- explode.obj \
- extract.obj \
- fileio.obj \
- globals.obj \
- inflate.obj \
- list.obj \
- match.obj \
- process.obj \
- ttyio.obj \
- unreduce.obj \
- unshrink.obj \
- zipinfo.obj \
- msdos.obj \
- $(ASMOBJS)
-
- funzip_dependencies = \
- funzip.obj \
- crc32_.obj \
- crypt_.obj \
- globals_.obj \
- inflate_.obj \
- ttyio_.obj \
- $(ASMOBJF)
-
- unzipsfx_dependencies = \
- unzipsfx.obj \
- crc32.obj \
- crctab.obj \
- crypt.obj \
- extract_.obj \
- fileio.obj \
- globals.obj \
- inflate.obj \
- match.obj \
- process_.obj \
- ttyio.obj \
- msdos_.obj \
- $(ASMOBJS)
-
- UNZIP_H = unzip.h unzpriv.h globals.h msdos/doscfg.h
-
- # explicit rules
-
- all: unzip.exe funzip.exe unzipsfx.exe
-
- unzip.exe: $(unzip_dependencies)
- $(CC) -m$(UNMODEL) $(LDFLAGS) -eunzip.exe @&&|
- unzip.obj
- crc32.obj
- crctab.obj
- crypt.obj
- envargs.obj
- explode.obj
- extract.obj
- fileio.obj
- $(ASMOBJS)
- globals.obj
- inflate.obj
- list.obj
- match.obj
- process.obj
- ttyio.obj
- unreduce.obj
- unshrink.obj
- zipinfo.obj
- msdos.obj
- |
- $(STRIP) unzip.exe
-
- funzip.exe: $(funzip_dependencies)
- $(CC) -m$(FUMODEL) $(LDFLAGS) -efunzip.exe @&&|
- funzip.obj
- $(ASMOBJF)
- crc32_.obj
- crypt_.obj
- globals_.obj
- inflate_.obj
- ttyio_.obj
- |
- $(STRIP) funzip.exe
-
- unzipsfx.exe: $(unzipsfx_dependencies)
- $(CC) -m$(UNMODEL) $(LDFLAGS) -eunzipsfx.exe @&&|
- unzipsfx.obj
- crc32.obj
- crctab.obj
- crypt.obj
- extract_.obj
- fileio.obj
- $(ASMOBJS)
- globals.obj
- inflate.obj
- match.obj
- process_.obj
- ttyio.obj
- msdos_.obj
- |
- $(STRIP) unzipsfx.exe
-
- clean:
- rem Ignore any errors in the following...
- -del *.obj
- -del unzip.exe
- -del funzip.exe
- -del unzipsfx.exe
-
- # individual file dependencies
-
- crc32.obj: crc32.c $(UNZIP_H) zip.h
- crctab.obj: crctab.c $(UNZIP_H) zip.h
- crypt.obj: crypt.c $(UNZIP_H) zip.h crypt.h ttyio.h
- envargs.obj: envargs.c $(UNZIP_H)
- explode.obj: explode.c $(UNZIP_H)
- extract.obj: extract.c $(UNZIP_H) crypt.h
- fileio.obj: fileio.c $(UNZIP_H) crypt.h ttyio.h ebcdic.h
- globals.obj: globals.c $(UNZIP_H)
- inflate.obj: inflate.c inflate.h $(UNZIP_H)
- list.obj: list.c $(UNZIP_H)
- match.obj: match.c $(UNZIP_H)
- process.obj: process.c $(UNZIP_H)
- ttyio.obj: ttyio.c $(UNZIP_H) zip.h crypt.h ttyio.h
- unreduce.obj: unreduce.c $(UNZIP_H)
- unshrink.obj: unshrink.c $(UNZIP_H)
- unzip.obj: unzip.c $(UNZIP_H) crypt.h version.h consts.h
- zipinfo.obj: zipinfo.c $(UNZIP_H)
-
- crc_i86.obj: msdos/crc_i86.asm
- $(AS) $(ASFLAGS) -D$(ASUNMODEL) msdos\crc_i86.asm, $*.obj ;
-
- crc_i86_.obj: msdos/crc_i86.asm
- $(AS) $(ASFLAGS) -D$(ASFUMODEL) msdos\crc_i86.asm, $*.obj ;
-
- msdos.obj: msdos/msdos.c $(UNZIP_H)
- $(CC) -c $(UNFLAGS) msdos/msdos.c
-
- funzip.obj: funzip.c $(UNZIP_H) crypt.h ttyio.h tables.h
- $(CC) -c $(FUFLAGS) funzip.c
-
- crc32_.obj: crc32.c $(UNZIP_H) zip.h
- $(CC) -c $(FUFLAGS) -DFUNZIP -ocrc32_.obj crc32.c
-
- crypt_.obj: crypt.c $(UNZIP_H) zip.h crypt.h ttyio.h
- $(CC) -c $(FUFLAGS) -DFUNZIP -ocrypt_.obj crypt.c
-
- globals_.obj: globals.c $(UNZIP_H)
- $(CC) -c $(FUFLAGS) -DFUNZIP -oglobals_.obj globals.c
-
- inflate_.obj: inflate.c inflate.h $(UNZIP_H) crypt.h
- $(CC) -c $(FUFLAGS) -DFUNZIP -oinflate_.obj inflate.c
-
- unzipsfx.obj: unzip.c $(UNZIP_H) crypt.h version.h consts.h
- $(CC) -c $(UNFLAGS) -DSFX -ounzipsfx.obj unzip.c
-
- extract_.obj: extract.c $(UNZIP_H) crypt.h
- $(CC) -c $(UNFLAGS) -DSFX -oextract_.obj extract.c
-
- process_.obj: process.c $(UNZIP_H)
- $(CC) -c $(UNFLAGS) -DSFX -oprocess_.obj process.c
-
- ttyio_.obj: ttyio.c $(UNZIP_H) zip.h crypt.h ttyio.h
- $(CC) -c $(FUFLAGS) -DFUNZIP -ottyio_.obj ttyio.c
-
- msdos_.obj: msdos/msdos.c $(UNZIP_H)
- $(CC) -c $(UNFLAGS) -DSFX -omsdos_.obj msdos/msdos.c
-